package ar.com.mooral.activities;

import java.util.Hashtable;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AbsoluteLayout;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ScrollView;
import android.widget.TextView;
import ar.com.mooral.crohn.application.CrohnContext;
import ar.com.mooral.data.Pain;
import ar.com.mooral.data.Result;
import ar.com.mooral.pojo.BasePojo;
import ar.com.mooral.pojo.GeneralStatusPojo;
import ar.com.mooral.pojo.PainPojo;


public class DolorAbdominal extends CrohnActivity {

	private PainPojo pojo;
	private Pain pain;
	private String nivelAnterior = null;
	private static String DOLOR_ABDOMINAL_NO 		= "0";
	private static String DOLOR_ABDOMINAL_LIGERO 	= "1";
	private static String DOLOR_ABDOMINAL_MODERADO  = "2";
	private static String DOLOR_ABDOMINAL_INTENSO 	= "3";
//	private ImageButton btnDolorAbdominalNo; 

	
	/*public void onBackPressed() {
		TabGroupActivity parentActivity = (TabGroupActivity)getParent();
		parentActivity.onBackPressed();
	}*/
	
	
	protected void onStart() {
		super.onStart();

		
		if (CrohnContext.isPojoLoaded()) {
			PainPojo painPojo = (PainPojo) CrohnContext.getPojo();
			((Button) findViewById(R.id.btnDolorAbdominalFecha)).setText(CrohnContext.getHumanDate(painPojo.getDate()));
			updateLevelImages();
		} else {
			// Initialize default values
	        ((Button) findViewById(R.id.btnDolorAbdominalFecha)).setText(CrohnContext.getHumanDate(CrohnContext.getDateTime()));
		}
	}


    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dolor_abdominal);

        if (!CrohnContext.isPojoLoaded()) {
        	PainPojo newPojo = new PainPojo();
			newPojo.setDate(CrohnContext.getDateTimeNow("dd/MM/yyyy"));
			CrohnContext.setPojo(newPojo);
		}
		pojo = (PainPojo) CrohnContext.getPojo();

		
        pain = new Pain(this);
        
        // REGISTRAR
        Button btnDolorAbdominalRegistrar = (Button) findViewById(R.id.btnDolorAbdominalRegistrar);
        btnDolorAbdominalRegistrar.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {

		    	if (pojo.getLevel() == null || pojo.getLevel().equals("")) {
		    		Result r = new Result(Result.INFO, "Debe seleccionar el nivel de dolor");
		    		showMessage(r);
		    	} else {
		    		
		    		Result r = pain.save(pojo);
			        if (r.hasError()) {
			        	showMessage(r);
			        } else {
				    	finish();
			        }
		    	}
		    }
		});	        
        
        
        // RETORNO
        Button lblDolorAbdominalRetorno = (Button) findViewById(R.id.btnDolorAbdominalRetorno);
        lblDolorAbdominalRetorno.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	finish();
		    }
		});	        


        // SELECCION FECHA Y HORA
        Button btnDolorAbdominalFecha = (Button) findViewById(R.id.btnDolorAbdominalFecha);
        btnDolorAbdominalFecha.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
				Intent intent = new Intent();
				intent.setComponent(new ComponentName(SeleccionFechaHora.class.getPackage().getName(), SeleccionFechaHora.class.getName()));
				startActivity(intent);
		    }
		});	        

        // INGRESO NOTA
        Button lblDolorAbdominalIngresoNota = (Button) findViewById(R.id.btnDolorAbdominalIngresoNota);
        lblDolorAbdominalIngresoNota.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
				Intent intent = new Intent();
				intent.setComponent(new ComponentName(IngresoNota.class.getPackage().getName(), IngresoNota.class.getName()));
				startActivity(intent);
		    }
		});	        
        
          
        // SELECCION NIVEL NO
        ImageButton btnDolorAbdominalNo = (ImageButton) findViewById(R.id.btnDolorAbdominalNo);
        btnDolorAbdominalNo.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setLevel(DOLOR_ABDOMINAL_NO);
		    	updateLevelImages();
		    }
		});	        
    
        
        // SELECCION NIVEL LIGERO
        ImageButton btnDolorAbdominalLigero = (ImageButton) findViewById(R.id.btnDolorAbdominalLigero);
        btnDolorAbdominalLigero.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	//((ImageButton)view).setBackgroundResource(R.drawable.dolor_abdominal_ligero_checkmark);
		    	pojo.setLevel(DOLOR_ABDOMINAL_LIGERO);
		    	updateLevelImages();
		    }
		});	        

        
        // SELECCION NIVEL MODERADO
        ImageButton btnDolorAbdominalModerado = (ImageButton) findViewById(R.id.btnDolorAbdominalModerado);
        btnDolorAbdominalModerado.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setLevel(DOLOR_ABDOMINAL_MODERADO);
		    	updateLevelImages();
		    }
		});	        
    
        // SELECCION NIVEL INTENSO
        ImageButton btnDolorAbdominalIntenso = (ImageButton) findViewById(R.id.btnDolorAbdominalIntenso);
        btnDolorAbdominalIntenso.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	//((ImageButton)view).setBackgroundResource(R.drawable.dolor_abdominal_intenso_checked);
		    	pojo.setLevel(DOLOR_ABDOMINAL_INTENSO);
		    	updateLevelImages();
		    }
		});	        
        
    }
    
    protected void updateLevelImages(){
    	if(nivelAnterior != null){
    		if(nivelAnterior.equals(DOLOR_ABDOMINAL_NO))
    			((ImageButton) findViewById(R.id.btnDolorAbdominalNo)).setBackgroundResource(R.drawable.dolor_abdominal_no);
    		else if(nivelAnterior.equals(DOLOR_ABDOMINAL_LIGERO))
    			((ImageButton) findViewById(R.id.btnDolorAbdominalLigero)).setBackgroundResource(R.drawable.dolor_abdominal_ligero);
    		else if(nivelAnterior.equals(DOLOR_ABDOMINAL_MODERADO))
    			((ImageButton) findViewById(R.id.btnDolorAbdominalModerado)).setBackgroundResource(R.drawable.dolor_abdominal_moderado);
    		else if(nivelAnterior.equals(DOLOR_ABDOMINAL_INTENSO))
    			((ImageButton) findViewById(R.id.btnDolorAbdominalIntenso)).setBackgroundResource(R.drawable.dolor_abdominal_intenso);
    	}
    	if(pojo.getLevel() != null){
    		if(pojo.getLevel().equals(DOLOR_ABDOMINAL_NO))
    			((ImageButton) findViewById(R.id.btnDolorAbdominalNo)).setBackgroundResource(R.drawable.dolor_abdominal_no_checked);
    		else if(pojo.getLevel().equals(DOLOR_ABDOMINAL_LIGERO))
    			((ImageButton) findViewById(R.id.btnDolorAbdominalLigero)).setBackgroundResource(R.drawable.dolor_abdominal_ligero_checked);
    		else if(pojo.getLevel().equals(DOLOR_ABDOMINAL_MODERADO))
    			((ImageButton) findViewById(R.id.btnDolorAbdominalModerado)).setBackgroundResource(R.drawable.dolor_abdominal_moderado_checked);
    		else if(pojo.getLevel().equals(DOLOR_ABDOMINAL_INTENSO))
    			((ImageButton) findViewById(R.id.btnDolorAbdominalIntenso)).setBackgroundResource(R.drawable.dolor_abdominal_intenso_checked);
    	}
    	
    	nivelAnterior = pojo.getLevel();
    }
}
